Setting Up a Race

Use these steps to create and manage races. This section covers the full setup wizard, runner ranges, checkpoints, and the race overview.

Creates a new race from scratch and verifies the overview

A race director fills in all the details needed to create a brand-new race — the race name, date, start time, how many checkpoints there are, and the range of runner bib numbers. Once saved, the race overview page should correctly display the race name, list every checkpoint, and show the right number of registered runners.

Step 1
Step 1
Step 2
Step 2
Step 3
Step 3
Step 4
Step 4
Step 5
Step 5
Step 6
Step 6
Step 7
Step 7
Step 8
Step 8
Step 9
Step 9
Step 10
Step 10
Step 11
Step 11
Step 12
Step 12
Step 13
Step 13
Step 14
Step 14
Step 15
Step 15
Step 16
Step 16
Step 17
Step 17
Step 18
Step 18
Step 19
Step 19
Step 20
Step 20

Step indicator advances correctly through setup wizard

The race creation form is split into two screens. This test checks that the progress indicator at the top of the form clearly updates when you move from the first screen (race details) to the second screen (runner numbers), so the race director always knows which step they are on.

Step 1
Step 1
Step 2
Step 2
Step 3
Step 3
Step 4
Step 4

Back button on step 2 returns to race details with data preserved

If a race director fills in the race name and other details, moves on to the second screen, then clicks Back, all their work should still be there — the race name and other fields must not be wiped out. Nobody should have to retype information just because they went back a step.

Step 1
Step 1
Step 2
Step 2
Step 3
Step 3
Step 4
Step 4

Race management page lists created races

The Race Management page is the race director's central hub where all races are listed. This test confirms that a race created earlier in the test suite appears on that page.

Step 1
Step 1
Step 2
Step 2
Step 3
Step 3
Step 4
Step 4
Step 5
Step 5
Step 6
Step 6

Clicking a race opens its overview

When the race director clicks on a race in the management list, they should be taken to that race's overview page where they can see all the details. This test confirms that navigation works correctly.

Step 1
Step 1
Step 2
Step 2
Step 3
Step 3
Step 4
Step 4
Step 5
Step 5
Step 6
Step 6

Creates a second race from the management page

A race director creates a second race directly from the management screen, going through the full two-step setup wizard (race details, then runner ranges) and landing on the new race's overview page.

Step 1
Step 1
Step 2
Step 2
Step 3
Step 3
Step 4
Step 4
Step 5
Step 5

Race overview shows correct runner and checkpoint counts

After creating a race with runner bib numbers 400 to 405 (6 runners) and 2 checkpoints, the race overview page should display "6" as the runner count and "2" as the checkpoint count — no more, no less.

Step 1
Step 1
Step 2
Step 2
Step 3
Step 3
Step 4
Step 4

Running a Checkpoint

Steps for checkpoint volunteers. Covers opening a checkpoint, marking off runners individually and in bulk, reviewing counts, and exporting data.

Navigates to checkpoint and sees runner grid

A checkpoint volunteer opens the app, taps "Checkpoint Operations", selects their race, and arrives at the correct checkpoint screen. This test confirms that the grid of runner bib numbers — the list of every runner they need to watch for — is visible and fully loaded.

Step 1
Step 1
Step 2
Step 2
Step 3
Step 3
Step 4
Step 4
Step 5
Step 5
Step 6
Step 6
Step 7
Step 7

Marks off a single runner via the runner grid

A checkpoint volunteer clicks on a single runner's bib number tile in the grid to record that the runner passed through. The tile should change colour or appearance to make it obvious that runner has been marked as "through".

Step 1
Step 1
Step 2
Step 2
Step 3
Step 3
Step 4
Step 4
Step 5
Step 5
Step 6
Step 6
Step 7
Step 7

Marks off multiple runners via Quick Entry

Instead of finding runners in the grid, a volunteer can just type a bib number and press Enter to record it quickly. This test enters two bib numbers one after the other using the quick-entry shortcut and confirms both runners are marked off.

Step 1
Step 1
Step 2
Step 2
Step 3
Step 3
Step 4
Step 4
Step 5
Step 5
Step 6
Step 6
Step 7
Step 7

Switches to Overview tab and shows runner counts

The Overview tab shows a summary — how many runners have been through, how many are still expected, and other totals. This test confirms those summary numbers appear correctly when the tab is selected.

Step 1
Step 1
Step 2
Step 2
Step 3
Step 3
Step 4
Step 4
Step 5
Step 5
Step 6
Step 6
Step 7
Step 7

Can export checkpoint results

At the end of a checkpoint shift, a volunteer may need to export their recorded data to share with base station or keep as a backup. This test checks that the export option can be opened from the checkpoint screen.

Step 1
Step 1
Step 2
Step 2
Step 3
Step 3
Step 4
Step 4
Step 5
Step 5
Step 6
Step 6

Navigates from race overview to a checkpoint

From the race overview, a race director can jump straight to any checkpoint's live mark-off screen. This test clicks the Checkpoint 1 link and confirms the checkpoint mark-off screen opens.

Step 1
Step 1
Step 2
Step 2
Step 3
Step 3
Step 4
Step 4

Settings

Personalise the app. Toggle dark mode and understand how preferences are saved.

Opens and closes the Settings modal

Tapping the settings cog in the top-right corner should open the settings panel. Pressing the Escape key (or tapping close) should dismiss it cleanly. This test confirms both actions work.

Step 1
Step 1
Step 2
Step 2
Step 3
Step 3
Step 4
Step 4

Toggles dark mode on and off

The dark mode toggle in settings switches the app between a light colour scheme and a dark one. This test turns dark mode on, confirms the dark theme is applied, then turns it back off and confirms the light theme is restored.

Step 1
Step 1
Step 2
Step 2
Step 3
Step 3
Step 4
Step 4

Settings persist after closing and reopening the modal

Changes made in settings should be saved and remembered. If dark mode is turned on and the settings panel is closed then reopened, dark mode should still be on — the preference should not reset.

Step 1
Step 1
Step 2
Step 2
Step 3
Step 3
Step 4
Step 4